/*
 * @(#)ContactSystem.java
 * Date 2013-08-17
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.model.common;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;


/**
 *
 * @author jim
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class ContactSystem {

    /** Field description */
    private CodedElement purpose;

    /** Field description */
    private final ContactSystemType systemType;

    /** Field description */
    private String value;

    /**
     * Constructs ...
     *
     *
     * @param type
     */
    public ContactSystem(ContactSystemType type) {

        super();
        this.systemType = type;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public CodedElement getPurpose() {
        return purpose;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public ContactSystemType getSystemType() {
        return systemType;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getValue() {
        return value;
    }

    /**
     * Method description
     *
     *
     * @param purpose
     */
    public void setPurpose(CodedElement purpose) {
        this.purpose = purpose;
    }

    /**
     * Method description
     *
     *
     * @param value
     */
    public void setValue(String value) {
        this.value = value;
    }
}
